package visualization.components;

import java.awt.Graphics2D;
import java.awt.Rectangle;


/**
 * An abstract class specifying behavior for various drawable graph componenets
 * 
 * @author Ben Schwab
 * 
 */
public abstract class GraphSprite {
    private Rectangle myDrawArea;

    /**
     * 
     * @param drawArea area of component
     */
    public GraphSprite (Rectangle drawArea) {
        myDrawArea = drawArea;
    }

    /**
     * Draw component to visualization
     * 
     * @param pen current visualization pen
     */
    public abstract void paint (Graphics2D pen);

    /**
     * 
     * @return return the draw area of the componenet
     */
    public Rectangle getDrawArea () {
        return myDrawArea;
    }

}
